//
//  main.m
//  OcDay4homework
//
//  Created by dllo on 16/5/25.
//  Copyright © 2016年 lanou. All rights reserved.
//

#import <Foundation/Foundation.h>
typedef struct {
    char name[20];
    char sex[20];
    int age;
    float score;
    int number;
}Student;


int main(int argc, const char * argv[]) {
    @autoreleasepool {
//        第一题 要求:
//        1、将“文艺青年”改为“213青年”。
//        2、将整数123, 转换为字符串“123”。
//        3、将“i love you”中的单词 字母 写“I Love You”。
//        4、判断一个字符串是否以http开头,以png结尾,如果是, 输出是一个有效链接,如果不是,输出链接错误。
       
#if 0
        //1.
        NSMutableString *mstr = [[NSMutableString alloc] initWithString:@"文艺青年"];
        [mstr replaceCharactersInRange:NSMakeRange(0, 2) withString:@"213"];
        NSLog(@"%@", mstr);
        
        //2.
        int a = 123;
        NSString *aForInt = [NSString stringWithFormat:@"%d",a];
        NSLog(@"%@",aForInt);
        
        //3.
        NSMutableString *mStr1 = [[NSMutableString alloc] initWithString:@"i love you"];
        NSLog(@"%@",mStr1.capitalizedString);
        
        //4.
        NSString *address = @"http://www.baidu.com.cocan.png";
        if([address hasPrefix:@"http"] && [address hasSuffix:@"png"]){
            NSLog(@"有效链接");
        } else {
            NSLog(@"链接错误");
        }
        
        
#endif
        
//        第二题 题目要求:
//        1、将整数123,存储为NSNumber类型的对象。
//        2、将3.14159,存储为NSNumber类型的对象。
//        3、将'c',存储为NSNumber类型的对象。
//        4、将YES,存储为NSNumber类型的对象。
//        5、将上述OC的NSNumber类型的对象转回为基本数据类型。
        
#if 0
        //1.
        NSNumber *intNumber = [NSNumber numberWithInt:123];
        NSLog(@"%@",intNumber);
        
        //2.
        NSNumber *floatNumber = [NSNumber numberWithFloat:3.14159];
        NSLog(@"%@",floatNumber);
        
        //3.
        NSNumber *charNumber = [NSNumber numberWithChar:'c'];
        NSLog(@"%@",charNumber);
        
        //4.
        NSNumber *boolNumber = [NSNumber numberWithBool:YES];
        NSLog(@"%@",boolNumber);
        
        //5.
        int a = intNumber.intValue;
        NSLog(@"%d",a);
        
        float b = floatNumber.floatValue;
        NSLog(@"%f",b);
        
        char c = charNumber.charValue;
        NSLog(@"%c",c);
        
        bool d = boolNumber.boolValue;
        NSLog(@"%d",d);
        
#endif
//        第三题要求: 1、定义Student结构体,包含姓名,性别,年龄,分数,学号; 定义该结构体的变量,并存储为NSValue类型的对象。
//        2、定义NSRange类型的变量,存储为NSValue类型的对象。
//        3、将上述NSValue类型的对象,转回为相应的数据类型。
        
#if 1   
        //1.                //???????汉字无效?
        Student stu = {"tony","M",40,99.9,1201};
        NSValue *valueStu = [NSValue value:&stu withObjCType:@encode(Student)];
        NSLog(@"%@",valueStu);
        
        //2.
        NSRange ran = NSMakeRange(2, 10);
        NSValue *valueRange = [NSValue valueWithRange:ran];
        NSLog(@"%@",valueRange);
    
        //3.1
        Student stu1 = {"","",0,0.0,0};
        [valueStu getValue:&stu1];
        NSLog(@"%s,%s,%d,%f,%d",stu1.name,stu1.sex,stu1.age,stu1.score,stu1.number);
        
        //3.2
        NSRange ranReturn = valueRange.rangeValue;
        NSLog(@"%ld,%ld",ranReturn.location,ranReturn.length);
        
#endif
    
    }
    return 0;
}
